2.5.2 Ortaklık (union) Oluşturma |
|
C dilinde ortaklık (union) oluşturma |
Ortaklık, birden çok değişkenin aynı bellek alanını kullanmasını sağlayan veri yapısı tanımlamasıdır. Böylece, bellek alanı kısıtlı uygulamalarda bazı değişkenlerin ortaklaşa yer kullanılması sağlanmış olunur. Ancak, birine atama yapıldığında diğerinin değişeceği unutulmamalıdır. Ortaklık tanımlanması C dilinde union deyimle yapılır. Ortaklıkta en fazla yer işgal eden veri yapısı hangisi ise, ortaklık içerisindeki tüm değişkenler orayı paylaşır. Bir ortaklığın üyeleri, temel veya daha önce bildirilmiş yeni tiplerde olabilir. Aşağıda 3 tane üyesi olan bir ortaklık bildirilmiştir. |
Yukarıdaki gibi bildirim yapıldığında, bellekte bir yer ayrılmaz. Çünkü yalnızca ortaklık bildirimi yapılmıştır. Tipi bu ortaklık olan değişken bildirimi yapılmamıştır. Değişken bildirimi, ya kapa küme karakterinden sonra değişkenlerin adları yazılarak ya da, union paylas bir, iki; gibi sonradan yapılabilir. Her
3 üye de aynı bellek alanını aşağıda gösterildiği gibi, anlamsız bitlerden
başlayarak (işlemciye bağlı olarak tersi de olabilir) işgal eder. |